package com.yihr.yrd.dao.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class YrdCustomerExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    private Integer limit;

    private Integer offset;

    public YrdCustomerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMsgIdIsNull() {
            addCriterion("msg_id is null");
            return (Criteria) this;
        }

        public Criteria andMsgIdIsNotNull() {
            addCriterion("msg_id is not null");
            return (Criteria) this;
        }

        public Criteria andMsgIdEqualTo(Long value) {
            addCriterion("msg_id =", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdNotEqualTo(Long value) {
            addCriterion("msg_id <>", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdGreaterThan(Long value) {
            addCriterion("msg_id >", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdGreaterThanOrEqualTo(Long value) {
            addCriterion("msg_id >=", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdLessThan(Long value) {
            addCriterion("msg_id <", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdLessThanOrEqualTo(Long value) {
            addCriterion("msg_id <=", value, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdIn(List<Long> values) {
            addCriterion("msg_id in", values, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdNotIn(List<Long> values) {
            addCriterion("msg_id not in", values, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdBetween(Long value1, Long value2) {
            addCriterion("msg_id between", value1, value2, "msgId");
            return (Criteria) this;
        }

        public Criteria andMsgIdNotBetween(Long value1, Long value2) {
            addCriterion("msg_id not between", value1, value2, "msgId");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNull() {
            addCriterion("customer_name is null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIsNotNull() {
            addCriterion("customer_name is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerNameEqualTo(String value) {
            addCriterion("customer_name =", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotEqualTo(String value) {
            addCriterion("customer_name <>", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThan(String value) {
            addCriterion("customer_name >", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameGreaterThanOrEqualTo(String value) {
            addCriterion("customer_name >=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThan(String value) {
            addCriterion("customer_name <", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLessThanOrEqualTo(String value) {
            addCriterion("customer_name <=", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameLike(String value) {
            addCriterion("customer_name like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotLike(String value) {
            addCriterion("customer_name not like", value, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameIn(List<String> values) {
            addCriterion("customer_name in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotIn(List<String> values) {
            addCriterion("customer_name not in", values, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameBetween(String value1, String value2) {
            addCriterion("customer_name between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andCustomerNameNotBetween(String value1, String value2) {
            addCriterion("customer_name not between", value1, value2, "customerName");
            return (Criteria) this;
        }

        public Criteria andPassportIdIsNull() {
            addCriterion("passport_id is null");
            return (Criteria) this;
        }

        public Criteria andPassportIdIsNotNull() {
            addCriterion("passport_id is not null");
            return (Criteria) this;
        }

        public Criteria andPassportIdEqualTo(String value) {
            addCriterion("passport_id =", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdNotEqualTo(String value) {
            addCriterion("passport_id <>", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdGreaterThan(String value) {
            addCriterion("passport_id >", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdGreaterThanOrEqualTo(String value) {
            addCriterion("passport_id >=", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdLessThan(String value) {
            addCriterion("passport_id <", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdLessThanOrEqualTo(String value) {
            addCriterion("passport_id <=", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdLike(String value) {
            addCriterion("passport_id like", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdNotLike(String value) {
            addCriterion("passport_id not like", value, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdIn(List<String> values) {
            addCriterion("passport_id in", values, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdNotIn(List<String> values) {
            addCriterion("passport_id not in", values, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdBetween(String value1, String value2) {
            addCriterion("passport_id between", value1, value2, "passportId");
            return (Criteria) this;
        }

        public Criteria andPassportIdNotBetween(String value1, String value2) {
            addCriterion("passport_id not between", value1, value2, "passportId");
            return (Criteria) this;
        }

        public Criteria andPhone1IsNull() {
            addCriterion("phone1 is null");
            return (Criteria) this;
        }

        public Criteria andPhone1IsNotNull() {
            addCriterion("phone1 is not null");
            return (Criteria) this;
        }

        public Criteria andPhone1EqualTo(String value) {
            addCriterion("phone1 =", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1NotEqualTo(String value) {
            addCriterion("phone1 <>", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1GreaterThan(String value) {
            addCriterion("phone1 >", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1GreaterThanOrEqualTo(String value) {
            addCriterion("phone1 >=", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1LessThan(String value) {
            addCriterion("phone1 <", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1LessThanOrEqualTo(String value) {
            addCriterion("phone1 <=", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1Like(String value) {
            addCriterion("phone1 like", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1NotLike(String value) {
            addCriterion("phone1 not like", value, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1In(List<String> values) {
            addCriterion("phone1 in", values, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1NotIn(List<String> values) {
            addCriterion("phone1 not in", values, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1Between(String value1, String value2) {
            addCriterion("phone1 between", value1, value2, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone1NotBetween(String value1, String value2) {
            addCriterion("phone1 not between", value1, value2, "phone1");
            return (Criteria) this;
        }

        public Criteria andPhone2IsNull() {
            addCriterion("phone2 is null");
            return (Criteria) this;
        }

        public Criteria andPhone2IsNotNull() {
            addCriterion("phone2 is not null");
            return (Criteria) this;
        }

        public Criteria andPhone2EqualTo(String value) {
            addCriterion("phone2 =", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2NotEqualTo(String value) {
            addCriterion("phone2 <>", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2GreaterThan(String value) {
            addCriterion("phone2 >", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2GreaterThanOrEqualTo(String value) {
            addCriterion("phone2 >=", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2LessThan(String value) {
            addCriterion("phone2 <", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2LessThanOrEqualTo(String value) {
            addCriterion("phone2 <=", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2Like(String value) {
            addCriterion("phone2 like", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2NotLike(String value) {
            addCriterion("phone2 not like", value, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2In(List<String> values) {
            addCriterion("phone2 in", values, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2NotIn(List<String> values) {
            addCriterion("phone2 not in", values, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2Between(String value1, String value2) {
            addCriterion("phone2 between", value1, value2, "phone2");
            return (Criteria) this;
        }

        public Criteria andPhone2NotBetween(String value1, String value2) {
            addCriterion("phone2 not between", value1, value2, "phone2");
            return (Criteria) this;
        }

        public Criteria andAgeIsNull() {
            addCriterion("age is null");
            return (Criteria) this;
        }

        public Criteria andAgeIsNotNull() {
            addCriterion("age is not null");
            return (Criteria) this;
        }

        public Criteria andAgeEqualTo(Integer value) {
            addCriterion("age =", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeNotEqualTo(Integer value) {
            addCriterion("age <>", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeGreaterThan(Integer value) {
            addCriterion("age >", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("age >=", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeLessThan(Integer value) {
            addCriterion("age <", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeLessThanOrEqualTo(Integer value) {
            addCriterion("age <=", value, "age");
            return (Criteria) this;
        }

        public Criteria andAgeIn(List<Integer> values) {
            addCriterion("age in", values, "age");
            return (Criteria) this;
        }

        public Criteria andAgeNotIn(List<Integer> values) {
            addCriterion("age not in", values, "age");
            return (Criteria) this;
        }

        public Criteria andAgeBetween(Integer value1, Integer value2) {
            addCriterion("age between", value1, value2, "age");
            return (Criteria) this;
        }

        public Criteria andAgeNotBetween(Integer value1, Integer value2) {
            addCriterion("age not between", value1, value2, "age");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyIsNull() {
            addCriterion("phone_attributively is null");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyIsNotNull() {
            addCriterion("phone_attributively is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyEqualTo(String value) {
            addCriterion("phone_attributively =", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyNotEqualTo(String value) {
            addCriterion("phone_attributively <>", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyGreaterThan(String value) {
            addCriterion("phone_attributively >", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyGreaterThanOrEqualTo(String value) {
            addCriterion("phone_attributively >=", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyLessThan(String value) {
            addCriterion("phone_attributively <", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyLessThanOrEqualTo(String value) {
            addCriterion("phone_attributively <=", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyLike(String value) {
            addCriterion("phone_attributively like", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyNotLike(String value) {
            addCriterion("phone_attributively not like", value, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyIn(List<String> values) {
            addCriterion("phone_attributively in", values, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyNotIn(List<String> values) {
            addCriterion("phone_attributively not in", values, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyBetween(String value1, String value2) {
            addCriterion("phone_attributively between", value1, value2, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andPhoneAttributivelyNotBetween(String value1, String value2) {
            addCriterion("phone_attributively not between", value1, value2, "phoneAttributively");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(String value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(String value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(String value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(String value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(String value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(String value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLike(String value) {
            addCriterion("sex like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotLike(String value) {
            addCriterion("sex not like", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<String> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<String> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(String value1, String value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(String value1, String value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountIsNull() {
            addCriterion("borrow_amount is null");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountIsNotNull() {
            addCriterion("borrow_amount is not null");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountEqualTo(Double value) {
            addCriterion("borrow_amount =", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountNotEqualTo(Double value) {
            addCriterion("borrow_amount <>", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountGreaterThan(Double value) {
            addCriterion("borrow_amount >", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountGreaterThanOrEqualTo(Double value) {
            addCriterion("borrow_amount >=", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountLessThan(Double value) {
            addCriterion("borrow_amount <", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountLessThanOrEqualTo(Double value) {
            addCriterion("borrow_amount <=", value, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountIn(List<Double> values) {
            addCriterion("borrow_amount in", values, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountNotIn(List<Double> values) {
            addCriterion("borrow_amount not in", values, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountBetween(Double value1, Double value2) {
            addCriterion("borrow_amount between", value1, value2, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andBorrowAmountNotBetween(Double value1, Double value2) {
            addCriterion("borrow_amount not between", value1, value2, "borrowAmount");
            return (Criteria) this;
        }

        public Criteria andPurposeIsNull() {
            addCriterion("purpose is null");
            return (Criteria) this;
        }

        public Criteria andPurposeIsNotNull() {
            addCriterion("purpose is not null");
            return (Criteria) this;
        }

        public Criteria andPurposeEqualTo(String value) {
            addCriterion("purpose =", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotEqualTo(String value) {
            addCriterion("purpose <>", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeGreaterThan(String value) {
            addCriterion("purpose >", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeGreaterThanOrEqualTo(String value) {
            addCriterion("purpose >=", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLessThan(String value) {
            addCriterion("purpose <", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLessThanOrEqualTo(String value) {
            addCriterion("purpose <=", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLike(String value) {
            addCriterion("purpose like", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotLike(String value) {
            addCriterion("purpose not like", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeIn(List<String> values) {
            addCriterion("purpose in", values, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotIn(List<String> values) {
            addCriterion("purpose not in", values, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeBetween(String value1, String value2) {
            addCriterion("purpose between", value1, value2, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotBetween(String value1, String value2) {
            addCriterion("purpose not between", value1, value2, "purpose");
            return (Criteria) this;
        }

        public Criteria andPaymentFormIsNull() {
            addCriterion("payment_form is null");
            return (Criteria) this;
        }

        public Criteria andPaymentFormIsNotNull() {
            addCriterion("payment_form is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentFormEqualTo(String value) {
            addCriterion("payment_form =", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormNotEqualTo(String value) {
            addCriterion("payment_form <>", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormGreaterThan(String value) {
            addCriterion("payment_form >", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormGreaterThanOrEqualTo(String value) {
            addCriterion("payment_form >=", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormLessThan(String value) {
            addCriterion("payment_form <", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormLessThanOrEqualTo(String value) {
            addCriterion("payment_form <=", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormLike(String value) {
            addCriterion("payment_form like", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormNotLike(String value) {
            addCriterion("payment_form not like", value, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormIn(List<String> values) {
            addCriterion("payment_form in", values, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormNotIn(List<String> values) {
            addCriterion("payment_form not in", values, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormBetween(String value1, String value2) {
            addCriterion("payment_form between", value1, value2, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andPaymentFormNotBetween(String value1, String value2) {
            addCriterion("payment_form not between", value1, value2, "paymentForm");
            return (Criteria) this;
        }

        public Criteria andIncomeIsNull() {
            addCriterion("income is null");
            return (Criteria) this;
        }

        public Criteria andIncomeIsNotNull() {
            addCriterion("income is not null");
            return (Criteria) this;
        }

        public Criteria andIncomeEqualTo(Double value) {
            addCriterion("income =", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeNotEqualTo(Double value) {
            addCriterion("income <>", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeGreaterThan(Double value) {
            addCriterion("income >", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeGreaterThanOrEqualTo(Double value) {
            addCriterion("income >=", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeLessThan(Double value) {
            addCriterion("income <", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeLessThanOrEqualTo(Double value) {
            addCriterion("income <=", value, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeIn(List<Double> values) {
            addCriterion("income in", values, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeNotIn(List<Double> values) {
            addCriterion("income not in", values, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeBetween(Double value1, Double value2) {
            addCriterion("income between", value1, value2, "income");
            return (Criteria) this;
        }

        public Criteria andIncomeNotBetween(Double value1, Double value2) {
            addCriterion("income not between", value1, value2, "income");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationIsNull() {
            addCriterion("credit_investigation is null");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationIsNotNull() {
            addCriterion("credit_investigation is not null");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationEqualTo(String value) {
            addCriterion("credit_investigation =", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationNotEqualTo(String value) {
            addCriterion("credit_investigation <>", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationGreaterThan(String value) {
            addCriterion("credit_investigation >", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationGreaterThanOrEqualTo(String value) {
            addCriterion("credit_investigation >=", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationLessThan(String value) {
            addCriterion("credit_investigation <", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationLessThanOrEqualTo(String value) {
            addCriterion("credit_investigation <=", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationLike(String value) {
            addCriterion("credit_investigation like", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationNotLike(String value) {
            addCriterion("credit_investigation not like", value, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationIn(List<String> values) {
            addCriterion("credit_investigation in", values, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationNotIn(List<String> values) {
            addCriterion("credit_investigation not in", values, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationBetween(String value1, String value2) {
            addCriterion("credit_investigation between", value1, value2, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andCreditInvestigationNotBetween(String value1, String value2) {
            addCriterion("credit_investigation not between", value1, value2, "creditInvestigation");
            return (Criteria) this;
        }

        public Criteria andLoanLimitIsNull() {
            addCriterion("loan_limit is null");
            return (Criteria) this;
        }

        public Criteria andLoanLimitIsNotNull() {
            addCriterion("loan_limit is not null");
            return (Criteria) this;
        }

        public Criteria andLoanLimitEqualTo(Double value) {
            addCriterion("loan_limit =", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitNotEqualTo(Double value) {
            addCriterion("loan_limit <>", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitGreaterThan(Double value) {
            addCriterion("loan_limit >", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitGreaterThanOrEqualTo(Double value) {
            addCriterion("loan_limit >=", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitLessThan(Double value) {
            addCriterion("loan_limit <", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitLessThanOrEqualTo(Double value) {
            addCriterion("loan_limit <=", value, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitIn(List<Double> values) {
            addCriterion("loan_limit in", values, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitNotIn(List<Double> values) {
            addCriterion("loan_limit not in", values, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitBetween(Double value1, Double value2) {
            addCriterion("loan_limit between", value1, value2, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andLoanLimitNotBetween(Double value1, Double value2) {
            addCriterion("loan_limit not between", value1, value2, "loanLimit");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeIsNull() {
            addCriterion("recommended_mode is null");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeIsNotNull() {
            addCriterion("recommended_mode is not null");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeEqualTo(String value) {
            addCriterion("recommended_mode =", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeNotEqualTo(String value) {
            addCriterion("recommended_mode <>", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeGreaterThan(String value) {
            addCriterion("recommended_mode >", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeGreaterThanOrEqualTo(String value) {
            addCriterion("recommended_mode >=", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeLessThan(String value) {
            addCriterion("recommended_mode <", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeLessThanOrEqualTo(String value) {
            addCriterion("recommended_mode <=", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeLike(String value) {
            addCriterion("recommended_mode like", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeNotLike(String value) {
            addCriterion("recommended_mode not like", value, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeIn(List<String> values) {
            addCriterion("recommended_mode in", values, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeNotIn(List<String> values) {
            addCriterion("recommended_mode not in", values, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeBetween(String value1, String value2) {
            addCriterion("recommended_mode between", value1, value2, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andRecommendedModeNotBetween(String value1, String value2) {
            addCriterion("recommended_mode not between", value1, value2, "recommendedMode");
            return (Criteria) this;
        }

        public Criteria andHousePropertyIsNull() {
            addCriterion("house_property is null");
            return (Criteria) this;
        }

        public Criteria andHousePropertyIsNotNull() {
            addCriterion("house_property is not null");
            return (Criteria) this;
        }

        public Criteria andHousePropertyEqualTo(String value) {
            addCriterion("house_property =", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyNotEqualTo(String value) {
            addCriterion("house_property <>", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyGreaterThan(String value) {
            addCriterion("house_property >", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyGreaterThanOrEqualTo(String value) {
            addCriterion("house_property >=", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyLessThan(String value) {
            addCriterion("house_property <", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyLessThanOrEqualTo(String value) {
            addCriterion("house_property <=", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyLike(String value) {
            addCriterion("house_property like", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyNotLike(String value) {
            addCriterion("house_property not like", value, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyIn(List<String> values) {
            addCriterion("house_property in", values, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyNotIn(List<String> values) {
            addCriterion("house_property not in", values, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyBetween(String value1, String value2) {
            addCriterion("house_property between", value1, value2, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andHousePropertyNotBetween(String value1, String value2) {
            addCriterion("house_property not between", value1, value2, "houseProperty");
            return (Criteria) this;
        }

        public Criteria andCarProductionIsNull() {
            addCriterion("car_production is null");
            return (Criteria) this;
        }

        public Criteria andCarProductionIsNotNull() {
            addCriterion("car_production is not null");
            return (Criteria) this;
        }

        public Criteria andCarProductionEqualTo(String value) {
            addCriterion("car_production =", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionNotEqualTo(String value) {
            addCriterion("car_production <>", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionGreaterThan(String value) {
            addCriterion("car_production >", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionGreaterThanOrEqualTo(String value) {
            addCriterion("car_production >=", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionLessThan(String value) {
            addCriterion("car_production <", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionLessThanOrEqualTo(String value) {
            addCriterion("car_production <=", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionLike(String value) {
            addCriterion("car_production like", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionNotLike(String value) {
            addCriterion("car_production not like", value, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionIn(List<String> values) {
            addCriterion("car_production in", values, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionNotIn(List<String> values) {
            addCriterion("car_production not in", values, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionBetween(String value1, String value2) {
            addCriterion("car_production between", value1, value2, "carProduction");
            return (Criteria) this;
        }

        public Criteria andCarProductionNotBetween(String value1, String value2) {
            addCriterion("car_production not between", value1, value2, "carProduction");
            return (Criteria) this;
        }

        public Criteria andUploadStateIsNull() {
            addCriterion("upload_state is null");
            return (Criteria) this;
        }

        public Criteria andUploadStateIsNotNull() {
            addCriterion("upload_state is not null");
            return (Criteria) this;
        }

        public Criteria andUploadStateEqualTo(Integer value) {
            addCriterion("upload_state =", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateNotEqualTo(Integer value) {
            addCriterion("upload_state <>", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateGreaterThan(Integer value) {
            addCriterion("upload_state >", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("upload_state >=", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateLessThan(Integer value) {
            addCriterion("upload_state <", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateLessThanOrEqualTo(Integer value) {
            addCriterion("upload_state <=", value, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateIn(List<Integer> values) {
            addCriterion("upload_state in", values, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateNotIn(List<Integer> values) {
            addCriterion("upload_state not in", values, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateBetween(Integer value1, Integer value2) {
            addCriterion("upload_state between", value1, value2, "uploadState");
            return (Criteria) this;
        }

        public Criteria andUploadStateNotBetween(Integer value1, Integer value2) {
            addCriterion("upload_state not between", value1, value2, "uploadState");
            return (Criteria) this;
        }

        public Criteria andCreateAtIsNull() {
            addCriterion("create_at is null");
            return (Criteria) this;
        }

        public Criteria andCreateAtIsNotNull() {
            addCriterion("create_at is not null");
            return (Criteria) this;
        }

        public Criteria andCreateAtEqualTo(Date value) {
            addCriterion("create_at =", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtNotEqualTo(Date value) {
            addCriterion("create_at <>", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtGreaterThan(Date value) {
            addCriterion("create_at >", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtGreaterThanOrEqualTo(Date value) {
            addCriterion("create_at >=", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtLessThan(Date value) {
            addCriterion("create_at <", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtLessThanOrEqualTo(Date value) {
            addCriterion("create_at <=", value, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtIn(List<Date> values) {
            addCriterion("create_at in", values, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtNotIn(List<Date> values) {
            addCriterion("create_at not in", values, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtBetween(Date value1, Date value2) {
            addCriterion("create_at between", value1, value2, "createAt");
            return (Criteria) this;
        }

        public Criteria andCreateAtNotBetween(Date value1, Date value2) {
            addCriterion("create_at not between", value1, value2, "createAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtIsNull() {
            addCriterion("upload_at is null");
            return (Criteria) this;
        }

        public Criteria andUploadAtIsNotNull() {
            addCriterion("upload_at is not null");
            return (Criteria) this;
        }

        public Criteria andUploadAtEqualTo(Date value) {
            addCriterion("upload_at =", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtNotEqualTo(Date value) {
            addCriterion("upload_at <>", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtGreaterThan(Date value) {
            addCriterion("upload_at >", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtGreaterThanOrEqualTo(Date value) {
            addCriterion("upload_at >=", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtLessThan(Date value) {
            addCriterion("upload_at <", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtLessThanOrEqualTo(Date value) {
            addCriterion("upload_at <=", value, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtIn(List<Date> values) {
            addCriterion("upload_at in", values, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtNotIn(List<Date> values) {
            addCriterion("upload_at not in", values, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtBetween(Date value1, Date value2) {
            addCriterion("upload_at between", value1, value2, "uploadAt");
            return (Criteria) this;
        }

        public Criteria andUploadAtNotBetween(Date value1, Date value2) {
            addCriterion("upload_at not between", value1, value2, "uploadAt");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}